\r\n\u003C/template>\r\n```\r\n\r\n**子组件**\r\n\r\n```vue\r\n\u003Cscript lang=\"ts\" setup>\r\n// 子组件\r\nconst props = defineProps\u003C{\r\n data: {\r\n sw0: boolean;\r\n sw1: boolean;\r\n sw2: boolean;\r\n };\r\n}>()\r\n\r\ninterface SwitchItem {\r\n id: number;\r\n label: string;\r\n value: boolean;\r\n}\r\n\r\nconst switches = ref\u003CSwitchItem[]>([\r\n { id: 1, label: '开关1', value: props.data.sw0 },\r\n { id: 2, label: '开关2', value: props.data.sw1 },\r\n { id: 3, label: '开关3', value: props.data.sw2 },\r\n]);\r\n\r\nwatch(() => props.data, (newData) => {\r\n switches.value[0].value = newData.sw0;\r\n switches.value[1].value = newData.sw1;\r\n switches.value[2].value = newData.sw2;\r\n}, { deep: true }\r\n);\r\n\r\nconst change = (switchItem: SwitchItem, value: boolean) => {\r\n console.log(`Switch ${switchItem.label} value: ${value}`);\r\n switchItem.value = value;\r\n};\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cview class=\"box\">\r\n \u003Cview v-for=\"switchItem in switches\" :key=\"switchItem.id\" class=\"item\">\r\n \u003Cview>{{ switchItem.label }}\u003C/view>\r\n \u003Cnut-switch v-model=\"switchItem.value\" @change=\"(value: any) => change(switchItem, value)\" />\r\n \u003C/view>\r\n \u003C/view>\r\n\u003C/template>\r\n```\r\n\r\n\r\n### 期望的结果是什么?\r\n\r\n当父组件的数据改变时,更新子组件的 `switchItem.value` 但不触发 `change` 事件。\r\n\r\n### 实际的结果是什么?\r\n\r\n**事件触发和警告**:当父组件的数据变化时,子组件的 `switch` 状态也随之变化,但是触发了 `nut-switch` 的 `change` 事件,并且出现了警告:\r\n\r\n```\r\n[Vue warn]: Invalid event arguments: event validation failed for event \"change\".\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n### 环境信息\r\n\r\n_No response_\r\n\r\n### 其他补充信息\r\n\r\n**Vue 版本**:3.2.47",[3008],{"name":3009,"color":3010},"🐞 bug","E64A19",343,"nutui-uniapp","open","[Bug Report]: nut-switch 组件 change 事件参数验证失败","2024-06-17T06:53:53Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/343",0.74520546,{"description":3019,"labels":3020,"number":3027,"owner":3012,"repository":3012,"state":3013,"title":3028,"updated_at":3029,"url":3030,"score":3031},"### 这个功能解决了什么问题?\n\n有时候悬浮按钮只需要一个按钮\n\n### 你期望的组件设计是怎样的?\n\n悬浮按钮可否增加类似下面的样式\r\n\r\n\r\n\r\n",[3021,3024],{"name":3022,"color":3023},"🚀 feature request","1976D2",{"name":3025,"color":3026},"👏 pr welcome","512DA8",382,"[FR]: 悬浮按钮样式","2024-08-13T01:00:22Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/382",0.78618276,{"description":3033,"labels":3034,"number":3035,"owner":3012,"repository":3012,"state":3036,"title":3037,"updated_at":3038,"url":3039,"score":3040},"### nutui-uniapp 版本号\n\n1.7.10\n\n### 平台\n\nweapp\n\n### 重现链接\n\nhttp://chen1999.eu.org:10010/node/file/download/admin/uni-nutui-vite-test.zip\n\n### 重现步骤\n\n\u003Cimg width=\"1152\" alt=\"无标题\" src=\"https://github.com/nutui-uniapp/nutui-uniapp/assets/76675300/658301c4-9798-4a69-9019-ddab23250571\">\r\n\n\n### 期望的结果是什么?\n\n用户不修改UI组件源码的情况下修复错误,让功能正常\n\n### 实际的结果是什么?\n\n引入scss字体路径报错,导致项目停止运行\n\n### 环境信息\n\nnode16.18,微信小程序\n\n### 其他补充信息\n\n_No response_",[],362,"closed","加载全局样式报错 Failed to find './iconfont/iconfont.css'","2024-08-29T06:16:28Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/362",0.7073163,{"description":3042,"labels":3043,"number":3045,"owner":3012,"repository":3012,"state":3036,"title":3046,"updated_at":3047,"url":3048,"score":3049},"### 这个功能解决了什么问题?\n\n```javascript\r\nconst options =[\r\n {\r\n id: '1',\r\n name: '浙江',\r\n children: [\r\n {\r\n id: '2',\r\n name: '杭州',\r\n disabled: true,\r\n children: [\r\n { id: '3', name: '西湖区' },\r\n { id: '4', name: '余杭区' },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n id: '9',\r\n name: '福建',\r\n children: [\r\n {\r\n id: '10',\r\n name: '福州',\r\n children: [\r\n ],\r\n },\r\n ],\r\n },\r\n]\r\n``` \r\n\r\n上面的数据作为options的最大层级为3,至少应该选择3个城市,当前组件选择`福建/福州`也会选择成功\n\n### 你期望的组件设计是怎样的?\n\n如所选结果数量未达到最大层级时不改变已有数据",[3044],{"name":3022,"color":3023},206,"[FR]: Cascader组件options层级不一致时选择数量必须和最大层级一致","2024-03-01T07:18:58Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/206",0.73548913,{"description":3051,"labels":3052,"number":3054,"owner":3012,"repository":3012,"state":3036,"title":3055,"updated_at":3056,"url":3057,"score":3058},"### nutui-uniapp 版本号\r\n\r\n1.7.17\r\n\r\n### 平台\r\n\r\nh5\r\n\r\n### 重现链接\r\n\r\n无\r\n\r\n### 重现步骤\r\n\r\n```\r\n\u003C!-- 短密码框 -->\r\n\t\u003Cnut-short-password\r\n\t\tv-model=\"shortPasswordObj.value\"\r\n\t\tv-model:visible=\"shortPasswordObj.visible\"\r\n\t\ttitle=\"管理员登录\"\r\n\t\tdesc=\"请输入6位数字密码\"\r\n\t\ttips=\"如您忘记,请联系相关负责人获取登录密码\"\r\n\t\t:close-on-click-overlay=\"false\"\r\n\t\tlength=\"6\"\r\n\t\t@focus=\"shortPasswordObj.showKeyboard=!shortPasswordObj.showKeyboard\"\r\n\t\t@close=\"shortPasswordObj.showKeyboard=false\"\r\n\t>\r\n\t\u003C/nut-short-password>\r\n\t\u003Cnut-number-keyboard\r\n\t\tv-model=\"shortPasswordObj.value\"\r\n\t\tv-model:visible=\"shortPasswordObj.showKeyboard\"\r\n\t>\r\n\t\u003C/nut-number-keyboard>\r\n```\r\n\r\n### 期望的结果是什么?\r\n\r\n点击遮罩层不会关闭掉短密码框\r\n\r\n### 实际的结果是什么?\r\n\r\n点击弹窗会关闭短密码框\r\n\r\n### 环境信息\r\n\r\n_No response_\r\n\r\n### 其他补充信息\r\n\r\n_No response_",[3053],{"name":3009,"color":3010},434,"使用 nut-short-password 组件,close-on-click-overlay 属性设置为 false无效,还是可以点击遮罩层关闭掉。","2024-10-11T09:33:53Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/434",0.7408606,{"description":3060,"labels":3061,"number":3062,"owner":3012,"repository":3012,"state":3036,"title":3063,"updated_at":3064,"url":3065,"score":3066},"### nutui-uniapp 版本号\n\n1.7.12\n\n### 平台\n\nweapp\n\n### 重现链接\n\n无\n\n### 重现步骤\n\n添加 \u003Cnut-tabbar>\u003Cnut-tabbar-item>后,在开发者工具里显示 warning\r\n\r\n\u003Cimg width=\"805\" alt=\"image\" src=\"https://github.com/nutui-uniapp/nutui-uniapp/assets/229186/e540b2cf-8793-4aa6-aaf9-be5ac914ad23\">\r\n\n\n### 期望的结果是什么?\n\n尽量不要出现 warning。虽然我知道这种比较麻烦,但还是希望能没有 Warning 最好\n\n### 实际的结果是什么?\n\n无\n\n### 环境信息\n\n_No response_\n\n### 其他补充信息\n\n_No response_",[],373,"TabbarItem 的样式报 Warning","2024-07-12T04:22:54Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/373",0.7543954,{"description":3068,"labels":3069,"number":3070,"owner":3012,"repository":3012,"state":3036,"title":3071,"updated_at":3072,"url":3073,"score":3074},"### nutui-uniapp 版本号\n\n1\n\n### 平台\n\nweapp\n\n### 重现链接\n\nhttps://uniapp-nutui.tech/lander\n\n### 重现步骤\n\n官网打不开了,显示 :\r\n\r\n[This domain name has expired. If you are the registered holder of this name and wish to renew it, please contact your registration service provider.](http://uniapp-nutui.tech/)\n\n### 期望的结果是什么?\n\n正常打开\n\n### 实际的结果是什么?\n\n显示域名过期\n\n### 环境信息\n\n_No response_\n\n### 其他补充信息\n\n_No response_",[],367,"官网域名挂了?","2024-09-05T12:09:03Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/367",0.75448304,{"description":3076,"labels":3077,"number":3078,"owner":3012,"repository":3012,"state":3036,"title":3079,"updated_at":3080,"url":3081,"score":3082},"### nutui-uniapp 版本号\n\n1.3.3\n\n### 平台\n\nh5\n\n### 重现链接\n\nnutui-uniapp/packages/nutui/components/watermark /watermark.vue\n\n### 重现步骤\n\n```vue\r\n\u003Cscript setup lang=\"ts\">\r\nimport { computed, defineComponent, reactive, watch } from 'vue'\r\nimport { PREFIX } from '../_constants'\r\nimport { watermarkEmits, watermarkProps } from './watermark'\r\n\r\nconst props = defineProps(watermarkProps)\r\ndefineEmits(watermarkEmits)\r\n\r\nconst state = reactive({\r\n base64Url: '',\r\n})\r\nconst {\r\n zIndex,\r\n gapX,\r\n gapY,\r\n width,\r\n height,\r\n rotate,\r\n image,\r\n imageWidth,\r\n imageHeight,\r\n content,\r\n fontStyle,\r\n fontWeight,\r\n fontColor,\r\n fontSize,\r\n fontFamily,\r\n} = props\r\n\r\nwatch(\r\n () => [\r\n zIndex,\r\n gapX,\r\n gapY,\r\n width,\r\n height,\r\n rotate,\r\n image,\r\n imageWidth,\r\n imageHeight,\r\n content,\r\n fontStyle,\r\n fontWeight,\r\n fontColor,\r\n fontSize,\r\n fontFamily,\r\n ],\r\n () => {\r\n init()\r\n },\r\n)\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cview\r\n :class=\"classes\"\r\n :style=\"{\r\n zIndex,\r\n backgroundSize: `${gapX + width}px`,\r\n backgroundImage: `url('${state.base64Url}')`,\r\n }\"\r\n />\r\n\u003C/template>\r\n```\r\n\r\n**这里的props被解构,但是在wathc中监听了,应该是不会触发watch的,因为被解构了就丢失了响应式了,我看watch直接监听了所有的props属性,应该可以直接监听整个props**\r\n\r\n```vue\r\nwatch(props, () => init())\r\n```\n\n### 期望的结果是什么?\n\nprops更新重新执行init方法\n\n### 实际的结果是什么?\n\nprops更新没有触发init方法\n\n### 环境信息\n\n_No response_\n\n### 其他补充信息\n\n_No response_",[],95,"watermark组件props丢失响应性","2023-11-06T13:28:17Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/95",0.75824165,{"description":3084,"labels":3085,"number":3086,"owner":3012,"repository":3012,"state":3036,"title":3087,"updated_at":3088,"url":3089,"score":3090},"### nutui-uniapp 版本号\n\n1.7.15\n\n### 平台\n\nweapp\n\n### 重现链接\n\n使用nut-input-number组件,然后执行命令就会提示\n\n### 重现步骤\n\n执行npm run dev:mp-weixin\r\n\r\n\n\n### 期望的结果是什么?\n\n不要出现Sass的警告问题\n\n### 实际的结果是什么?\n\n出现Sass警告问题\n\n### 环境信息\n\nwin 11,Vue:3.4.21,nutui-uniapp:1.7.15,Sass:1.77.8,TS:5.5.3,Vite:5.2.8\n\n### 其他补充信息\n\n_No response_",[],408,"nut-input-number组件编译成微信小程序Sass警告","2024-08-22T06:15:52Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/408",0.7628055,{"description":3092,"labels":3093,"number":3095,"owner":3012,"repository":3012,"state":3036,"title":3096,"updated_at":3097,"url":3098,"score":3099},"### 这个功能解决了什么问题?\n\n当我将一个nut-menu作为时间选择器使用时代码如下:\r\n```\r\n\u003Cnut-menu class=\"home-index-dropdown-menu\" active-color=\"#fb456d\" name=\"\">\r\n \u003Cnut-menu-item v-model=\"selectedItem\" :options=\"options\" @change=\"changeDropdown\"/>\r\n\u003C/nut-menu>\r\n\r\n\u003Cnut-calendar v-model:visible=\"showDatePicker\" type=\"range\" @select=\"range => dateRange = range\" />\r\n......\r\nconst dateRange = ref([])\r\n\r\nconst options= [\r\n {text: \"全部时间\", value: \"\"}\r\n {text: \"今天\", value: 1}\r\n {text: \"明天\", value: 2}\r\n {text: \"自定义\", value: 3}\r\n]\r\n\r\nconst changeDropdown = e => {\r\n if (e === 3) {\r\n showDatePicker.value = true\r\n }\r\n ......\r\n}\r\n\r\n```\r\n我希望选中value = 3时弹出一个日历使用户自行选择时间区间后关闭选择器,但此处出现了一个问题,change事件当且仅当值变化时才会触发emit('change')回调,这使得用户在选择器中再次选择‘’自定义‘’选项时,change事件不会被触发,我查阅了menuitem文件源码后发现并没有除了change以外的事件可以用来判定用户再次选择了同一个选项,这使得用户体验有所下降。\n\n### 你期望的组件设计是怎样的?\n\n希望menuitem控件增加一个配置以控制change触发的时机,例如:\r\n\r\n在menuitemProps中洗澡能一个配置**triggerAnyway: Boolean**,当triggerAnyway = true时,change将不检测值是否相等,都会触发change事件:\r\n```\r\n menuitem.ts\r\n /**\r\n * @description 选项选中时选中图标\r\n */\r\n optionIcon: makeStringProp('Check'),\r\n /**\r\n * @description 该配置为true时无论如何都会触发change回调\r\n */\r\n triggerAnyway: Boolean\r\n```\r\n\r\n```\r\n menuitem.vue\r\n ...\r\n const onClick = (option: MenuItemOption) => {\r\n state.showPopup = false\r\n\r\n if (props.triggerAnyway || option.value !== props.modelValue) {\r\n emit('update:modelValue', option.value)\r\n emit('change', option.value)\r\n }\r\n }\r\n\r\n```\r\n希望贵团队可以考虑加入类似的功能,感谢",[3094],{"name":3022,"color":3023},322,"[FR]: 在nut-menu-item中支持配置change的触发时机(或新增一个emit('click'))","2024-05-21T02:34:41Z","https://github.com/nutui-uniapp/nutui-uniapp/issues/322",0.768233,["Reactive",3101],{},["Set"],["ShallowReactive",3104],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f1308ybXkuvh6cKPHtnBIuprzusUjll2-YMU6BcGdHP8":-1},"/nutui-uniapp/nutui-uniapp/330"]