tusen-ai / naive-ui

A Vue 3 Component Library. Fairly Complete. Theme Customizable. Uses TypeScript. Fast.
https://www.naiveui.com
MIT License
15.85k stars 1.66k forks source link

一大波新功能请求,希望作者参考 #6168

Open pinecone-squirrel opened 1 month ago

pinecone-squirrel commented 1 month ago

问题的清晰而简明的描述

Naive UI 组件库改进建议

建议的解决方案

以上有一两个给了解决方案

备选方案

No response

附加上下文

No response

验证

pinecone-squirrel commented 1 month ago
Mophar-gift commented 1 month ago

【12】+1

itliujia commented 1 month ago

【7、8】+1

jahnli commented 1 month ago

【12】+1

https://github.com/tusen-ai/naive-ui/issues/216 我之前也想使用 template ,后面发现 tsx 更简单舒服

jahnli commented 1 month ago

7、应该可以通过主题色和 render-label 实现 image 8、应该同上 image

HongJian-Yang commented 1 month ago

希望 DataTable 可以出一个功能, 可以用代码 高亮某一行 和 取消高亮某一行, 还有就是 滚动到 某一行

pinecone-squirrel commented 1 month ago

7、应该可以通过主题色和 render-label 实现 image 8、应该同上 image

可以是可以,但是这个就需要每个单独都要改了,不如主题编辑器直接全局都改了,而且还能保证全局样式统一

pinecone-squirrel commented 1 month ago

表格的插槽写法我看了作者的回复,作者说1是为了更好的ts类型支持,2是目前vue的slot有一些不明确的地方,怕后续有重大改动,这波表示理解并且支持https://github.com/tusen-ai/naive-ui/issues/216 并且写json也有一些好处,做定制列非常好

pinecone-squirrel commented 1 month ago

再加一个 upload组件可以设置文件的类名,现在文件列表和触发器可以设置类名,但是文件wrap不能设置类名 就导致一个问题 我把文件列表给成grid布局,68宽高,但是里面的文件(或者说照片墙的尺寸还是96x96),还是超出了 没办法,现在只能穿透修改,感觉不是很优雅

ilxqx commented 1 month ago

赞同改一下日期时间控件的年份和月份选择方法,目前日期控件选择完年月后需要鼠标点一下别的地方才能消失年月选择框,不能自动消失这点就很难受了。

pinecone-squirrel commented 1 month ago

赞同改一下日期时间控件的年份和月份选择方法,目前日期控件选择完年月后需要鼠标点一下别的地方才能消失年月选择框,不能自动消失这点就很难受了。

是这样的

jizai1125 commented 1 month ago
  1. DatePicker 组件 (type 为 datetime 等) 设置 input-readonly 时,日期输入框未被 readonly

readonly 有的,是不是理解错成了禁用?

image
pinecone-squirrel commented 1 month ago
  1. DatePicker 组件 (type 为 datetime 等) 设置 input-readonly 时,日期输入框未被 readonly

readonly 有的,是不是理解错成了禁用? image

我指的这里 QQ_1721614166455

pinecone-squirrel commented 1 month ago

https://github.com/tusen-ai/naive-ui/issues/6001

pinecone-squirrel commented 1 month ago

我说一下第二点 其实只要提供一个函数,传入年月,和周开始星期 然后返回42个日期时间戳数组就ok了

其实我自己写了一个,不知道组件库是怎么搞的,希望可以导出来,毕竟大佬写的肯定比我代码质量高

pinecone-squirrel commented 1 month ago

我说一下第二点 其实只要提供一个函数,传入年月,和周开始星期 然后返回42个日期时间戳数组就ok了

其实我自己写了一个,不知道组件库是怎么搞的,希望可以导出来,毕竟大佬写的肯定比我代码质量高

/**
   * 获取某年某月包含42个日期的数组,开始日期根据指定的星期开始
   * @param {number} year - 年份
   * @param {number} month - 月份(1-12)
   * @param {number} startWeek - 以哪一天为周开始(0-6,0表示周日)
   * @returns {Date[]} - 包含42个日期的数组
   */
    function getDates(year, month, startWeek) {
      // 创建日期对象
      var date = new Date(year, month - 1, 1);
      // 获取这个月的第一天是星期几
      var firstDayOfWeek = date.getDay();
      // 计算需要回溯到上个月的天数
      var lastMonthDays = (firstDayOfWeek - startWeek + 7) % 7;
      // 回溯到上个月的日期
      date.setDate(date.getDate() - lastMonthDays);
      // 创建一个数组来存储日期
      var dates = [];
      // 获取42个日期
      for (var i = 0; i < 42; i++) {
        dates.push(new Date(date));
        date.setDate(date.getDate() + 1);
      }
      // 返回日期数组
      return dates;
    }
    var dates = getDates(2024, 6, 1); // 获取2024年7月,从周一开始的42个日期
    console.log(dates);
superdudu-code commented 3 weeks ago

【12】+1

216 我之前也想用template,后面发现tsx更简单舒适

我也觉得,我之前提过插槽或者jsx的写法,后面在大佬的帮助下使用了jsx,用习惯后觉得jsx比插槽灵活方便,虽然不清楚渲染效率会不会降低

itliujia commented 3 weeks ago

你好,我最近正在学习中,无法亲自回复你的邮件。我将尽快给你回复。

pinecone-squirrel commented 1 day ago

https://github.com/tusen-ai/naive-ui/issues/6311