diff --git a/.env.development b/.env.development
index 3111b865..a79a6ae0 100644
--- a/.env.development
+++ b/.env.development
@@ -6,12 +6,12 @@ ENV = 'development'
# 苗扬
-VITE_APP_BASE_API_Url = 'http://25.64.16.133:9786'
+#VITE_APP_BASE_API_Url = 'http://25.64.16.133:9786'
#VITE_APP_BASE_API_Url = 'http://aitstest.jlbank.com.cn:7002'
# app入口
-#VITE_APP_BASE_API_Url = 'http://25.18.122.65:7001'
+VITE_APP_BASE_API_Url = 'http://25.18.122.65:7001'
diff --git a/src/App.vue b/src/App.vue
index 28fdcff6..694860bc 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -66,6 +66,9 @@ view {
.fz-30 {
font-size: 30rpx;
}
+.fz-28 {
+ font-size: 28rpx;
+}
.fz-24 {
font-size: 24rpx;
}
@@ -80,9 +83,19 @@ view {
.flex {
display: flex;
}
+.flex-jcsb {
+ display: flex;
+ justify-content: space-between;
+}
+.tar{
+ text-align: right;
+}
.fw-600 {
font-weight: 600;
}
+.fw-400 {
+ font-weight: 400;
+}
.img_100 {
width: 100%;
height: 100%;
diff --git a/src/pages.json b/src/pages.json
index 2576942a..9cd6dcfe 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -18,6 +18,15 @@
}
}
},
+ {
+ "path": "pages/courseDetail/submit",
+ "style": {
+ "navigationBarTitleText": "提交评价",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
+ },
{
"path": "pages/study/index",
"style": {
diff --git a/src/pages/courseDetail/comment.vue b/src/pages/courseDetail/comment.vue
new file mode 100644
index 00000000..73383cba
--- /dev/null
+++ b/src/pages/courseDetail/comment.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/courseDetail/index.vue b/src/pages/courseDetail/index.vue
index 46a84b1d..1dfa119b 100644
--- a/src/pages/courseDetail/index.vue
+++ b/src/pages/courseDetail/index.vue
@@ -22,73 +22,34 @@
-
-
-
- 课程类别
- {{ form.catalogName }}
-
-
- 评分
- {{ form.evalGrade }}
-
-
-
- 发布日期
- {{ common.formatDate2(form.issuTm, 'yyyy-MM-dd HH:mm') }}
-
-
-
-
- 标签
-
- {{ item.tagName }}
-
-
-
- 创建人
- {{ form.ctUserName }}
-
-
- 归属部门
- {{ form.belgOrgName }}
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
- 知识点0{{ index + 1 }}
- {{ item.pgrphContent }}
-
-
-
- {{ item.pgrphStdyStateName }}
-
-
+
+
+
+
+
-
- 去学习
- 去练习
- 去考试
+
+ 去学习
+ 去练习
+ 去考试
+
+
+ 发布评价
+
+
@@ -99,13 +60,17 @@ import { onLoad } from '@dcloudio/uni-app';
import { getCourseDetailApi } from '@/api/courseDetail.js';
// import {formatDate2} from '@/common/common.js'
import common from '@/common/common';
+import introduceVue from './introduce.vue';
+import knowledge from './knowledge.vue';
+import comment from './comment.vue';
+
// tab栏
const tabList = ref([{ name: '课程介绍' }, { name: '知识点' }, { name: '评价' }]);
const form = ref({});
const crsNum = ref('');
-const tabAct = ref('课程介绍');
+const tabAct = ref(0);
const tabSwitch = (item) => {
- tabAct.value = item.name;
+ tabAct.value = item.index;
};
const getData = async () => {
const { body } = await getCourseDetailApi({ crsNum: crsNum.value });
@@ -183,71 +148,8 @@ onLoad((params) => {
// bottom: 10rpx;
// }
}
-.course-info {
- box-sizing: border-box;
- width: 100%;
- background-color: #ffffff;
- border-radius: 22rpx;
- padding-top: 38rpx;
- padding-left: 38rpx;
-}
-.info-top {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin-bottom: 62rpx;
- padding-right: 36rpx;
- .top-right {
- .rate-text {
- text-align: right;
- color: #999999;
- font-size: 30rpx;
- margin-bottom: 4rpx;
- }
- .rate-num {
- color: #0066ff;
- font-size: 62rpx;
- font-family: Arial, Helvetica, sans-serif;
- font-weight: 600;
- }
- }
-}
-.info-middle {
- margin-bottom: 35rpx;
- padding-right: 36rpx;
-}
-.info-bottom {
- display: flex;
- justify-content: space-between;
- width: 100%;
-}
-.bottom-left {
- display: flex;
- flex-direction: column;
- padding-top: 12rpx;
- flex: 1;
- .label {
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- }
- .label-item {
- text-align: center;
- border-radius: 22rpx;
- padding: 2rpx 14rpx;
- font-size: 22rpx;
- margin-right: 14rpx;
- background-color: #f1f3f8;
- }
-}
-.bottom-right {
- width: 50%;
- .right-img {
- width: 100%;
- height: auto;
- object-fit: cover;
- }
-}
+
+
.btn-box {
position: fixed;
bottom: 0;
@@ -255,13 +157,25 @@ onLoad((params) => {
width: 100%;
display: flex;
padding-top: 37rpx;
- justify-content: space-evenly;
+ justify-content: space-around;
background-color: #ffffff;
- :deep(.uv-button) {
- border-radius: 14rpx;
- width: 200rpx;
- height: 92rpx;
+ // background-color: red;
+
+ :deep(.uv-button-wrapper) {
+ flex: 1;
+ &.send_evaluate{
+ margin: 0 60rpx;
+ }
+ &:not(.send_evaluate){
+ margin: 0 30rpx;
+ }
+ .uv-button {
+ border-radius: 14rpx;
+ width: 100%;
+ height: 92rpx;
+ }
}
+
}
.num-item {
display: flex;
@@ -273,25 +187,7 @@ onLoad((params) => {
.point {
width: 100%;
}
-.point-item {
- background-color: #fff;
- display: flex;
- padding-top: 24rpx;
- padding-left: 36rpx;
- padding-right: 52rpx;
- border-radius: 22rpx;
- justify-content: space-between;
- .blue-ball {
- padding-top: 16rpx;
- margin-right: 12rpx;
- .ball {
- width: 12rpx;
- height: 12rpx;
- background-color: #0066ff;
- border-radius: 50%;
- }
- }
-}
+
.learn {
color: #1dd17a;
}
diff --git a/src/pages/courseDetail/introduce.vue b/src/pages/courseDetail/introduce.vue
new file mode 100644
index 00000000..2295b89e
--- /dev/null
+++ b/src/pages/courseDetail/introduce.vue
@@ -0,0 +1,115 @@
+
+
+
+
+ 课程类别
+ {{ modelValue.catalogName }}
+
+
+ 评分
+ {{ modelValue.evalGrade }}
+
+
+
+ 发布日期
+ {{ common.formatDate2(modelValue.issuTm, 'yyyy-MM-dd HH:mm') }}
+
+
+
+
+ 标签
+
+ {{ item.tagName }}
+
+
+
+ 创建人
+ {{ modelValue.ctUserName }}
+
+
+ 归属部门
+ {{ modelValue.belgOrgName }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/courseDetail/knowledge.vue b/src/pages/courseDetail/knowledge.vue
new file mode 100644
index 00000000..5906419c
--- /dev/null
+++ b/src/pages/courseDetail/knowledge.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+ 知识点0{{ index + 1 }}
+ {{ item.pgrphContent }}
+
+
+
+ {{ item.pgrphStdyStateName }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/courseDetail/submit.vue b/src/pages/courseDetail/submit.vue
new file mode 100644
index 00000000..be117054
--- /dev/null
+++ b/src/pages/courseDetail/submit.vue
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+
+
+
+ 发表评价
+
+
+
+
+
+
+ 最多可添加4张图片
+
+
+
+
+
+ 综合评分
+
+
+
+
+ 0
+ 10
+
+
+
+
+ 建议
+ 提问
+
+
+
+
+
+
+
+ 去学习
+
+
+
+
+
+
+
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index b6d84005..c9b76a33 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -45,7 +45,7 @@
color="rgba(255,255,255,0.7)" :speed="40" direction="column">
-
+
diff --git a/src/pagesOther.json b/src/pagesOther.json
index b720cdef..04435044 100644
--- a/src/pagesOther.json
+++ b/src/pagesOther.json
@@ -17,6 +17,15 @@
"titleNView": false
}
}
+ },
+ {
+ "path": "pages/courseDetail/submit",
+ "style": {
+ "navigationBarTitleText": "提交评价",
+ "app-plus": {
+ "titleNView": false
+ }
+ }
}
],
"tabBar": {
diff --git a/src/uni_modules/uv-read-more/changelog.md b/src/uni_modules/uv-read-more/changelog.md
new file mode 100644
index 00000000..890f9740
--- /dev/null
+++ b/src/uni_modules/uv-read-more/changelog.md
@@ -0,0 +1,7 @@
+## 1.0.2(2023-09-13)
+1. 修复全局设置rpx,导致展开高度不对的BUG
+## 1.0.1(2023-05-16)
+1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
+2. 优化部分功能
+## 1.0.0(2023-05-10)
+uv-read-more 展开阅读更多
diff --git a/src/uni_modules/uv-read-more/components/uv-read-more/props.js b/src/uni_modules/uv-read-more/components/uv-read-more/props.js
new file mode 100644
index 00000000..c691a01b
--- /dev/null
+++ b/src/uni_modules/uv-read-more/components/uv-read-more/props.js
@@ -0,0 +1,62 @@
+export default {
+ props: {
+ // 默认的显示占位高度
+ showHeight: {
+ type: [String, Number],
+ default: 400
+ },
+ // 展开后是否显示"收起"按钮
+ toggle: {
+ type: Boolean,
+ default: false
+ },
+ // 关闭时的提示文字
+ closeText: {
+ type: String,
+ default: '展开阅读全文'
+ },
+ // 展开时的提示文字
+ openText: {
+ type: String,
+ default: '收起'
+ },
+ // 提示的文字颜色
+ color: {
+ type: String,
+ default: '#2979ff'
+ },
+ // 提示文字的大小
+ fontSize: {
+ type: [String, Number],
+ default: 14
+ },
+ // 是否显示阴影
+ // 此参数不能写在props/readMore.js中进行默认配置,因为使用了条件编译,在外部js中
+ // uni无法准确识别当前是否处于nvue还是非nvue下
+ shadowStyle: {
+ type: Object,
+ default: () => ({
+ // #ifndef APP-NVUE
+ backgroundImage: 'linear-gradient(-180deg, rgba(255, 255, 255, 0) 0%, #fff 80%)',
+ // #endif
+ // #ifdef APP-NVUE
+ // nvue上不支持设置复杂的backgroundImage属性
+ backgroundImage: 'linear-gradient(to top, #fff, rgba(255, 255, 255, 0.5))',
+ // #endif
+ paddingTop: '100px',
+ marginTop: '-100px'
+ })
+ },
+ // 段落首行缩进的字符个数
+ textIndent: {
+ type: String,
+ default: '2em'
+ },
+ // open和close事件时,将此参数返回在回调参数中
+ name: {
+ type: [String, Number],
+ default: ''
+ },
+ ...uni.$uv?.props?.readMore
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue b/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue
new file mode 100644
index 00000000..9ee47db1
--- /dev/null
+++ b/src/uni_modules/uv-read-more/components/uv-read-more/uv-read-more.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uv-read-more/package.json b/src/uni_modules/uv-read-more/package.json
new file mode 100644
index 00000000..77df674f
--- /dev/null
+++ b/src/uni_modules/uv-read-more/package.json
@@ -0,0 +1,89 @@
+{
+ "id": "uv-read-more",
+ "displayName": "uv-read-more 展开阅读更多 全面兼容小程序、nvue、vue2、vue3等多端",
+ "version": "1.0.2",
+ "description": "uv-read-more 该组件一般用于内容较长,预先收起一部分,点击展开全部内容的场景。",
+ "keywords": [
+ "uv-read-more",
+ "uvui",
+ "uv-ui",
+ "read",
+ "展开阅读更多"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools",
+ "uv-icon",
+ "uv-text"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-read-more/readme.md b/src/uni_modules/uv-read-more/readme.md
new file mode 100644
index 00000000..79e2eae3
--- /dev/null
+++ b/src/uni_modules/uv-read-more/readme.md
@@ -0,0 +1,11 @@
+## ReadMore 展开阅读更多
+
+> **组件名:uv-read-more**
+
+该组件一般用于内容较长,预先收起一部分,点击展开全部内容的场景。
+
+### 查看文档
+
+### [完整示例项目下载 | 关注更多组件](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+#### 如使用过程中有任何问题,或者您对uv-ui有一些好的建议,欢迎加入 uv-ui 交流群:uv-ui、官方QQ群
diff --git a/src/uni_modules/uv-slider/changelog.md b/src/uni_modules/uv-slider/changelog.md
new file mode 100644
index 00000000..d065ed08
--- /dev/null
+++ b/src/uni_modules/uv-slider/changelog.md
@@ -0,0 +1,9 @@
+## 1.0.3(2023-07-25)
+1. 将inactiveColor修正为backgroundColor 参数,避免不生效
+## 1.0.2(2023-07-13)
+1. 修复 uv-slider设置value属性不生效的BUG
+## 1.0.1(2023-05-16)
+1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
+2. 优化部分功能
+## 1.0.0(2023-05-10)
+uv-slider 滑动选择器
diff --git a/src/uni_modules/uv-slider/components/uv-slider/props.js b/src/uni_modules/uv-slider/components/uv-slider/props.js
new file mode 100644
index 00000000..1c622de3
--- /dev/null
+++ b/src/uni_modules/uv-slider/components/uv-slider/props.js
@@ -0,0 +1,58 @@
+export default {
+ props: {
+ value: {
+ type: [Number, String],
+ default: 0
+ },
+ modelValue: {
+ type: [Number, String],
+ default: 0
+ },
+ // 最小可选值
+ min: {
+ type: [Number, String],
+ default: 0
+ },
+ // 最大可选值
+ max: {
+ type: [Number, String],
+ default: 100
+ },
+ // 步长,取值必须大于 0,并且可被(max - min)整除
+ step: {
+ type: [Number, String],
+ default: 1
+ },
+ // 滑块右侧已选择部分的背景色
+ activeColor: {
+ type: String,
+ default: '#2979ff'
+ },
+ // 滑块左侧未选择部分的背景色
+ backgroundColor: {
+ type: String,
+ default: '#c0c4cc'
+ },
+ // 滑块的大小,取值范围为 12 - 28
+ blockSize: {
+ type: [Number, String],
+ default: 18
+ },
+ // 滑块的颜色
+ blockColor: {
+ type: String,
+ default: '#ffffff'
+ },
+ // 禁用状态
+ disabled: {
+ type: Boolean,
+ default: false
+ },
+ // 是否显示当前的选择值
+ showValue: {
+ type: Boolean,
+ default: false
+ },
+ ...uni.$uv?.props?.slider
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue b/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue
new file mode 100644
index 00000000..9c2a86ab
--- /dev/null
+++ b/src/uni_modules/uv-slider/components/uv-slider/uv-slider.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
diff --git a/src/uni_modules/uv-slider/package.json b/src/uni_modules/uv-slider/package.json
new file mode 100644
index 00000000..13939517
--- /dev/null
+++ b/src/uni_modules/uv-slider/package.json
@@ -0,0 +1,87 @@
+{
+ "id": "uv-slider",
+ "displayName": "uv-slider 滑动选择器 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.3",
+ "description": "滑动选择器组件一般用于表单中,手动选择一个区间范围的场景。",
+ "keywords": [
+ "uv-slider",
+ "uvui",
+ "uv-ui",
+ "slider",
+ "滑动选择器"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-slider/readme.md b/src/uni_modules/uv-slider/readme.md
new file mode 100644
index 00000000..c9c00cca
--- /dev/null
+++ b/src/uni_modules/uv-slider/readme.md
@@ -0,0 +1,15 @@
+## Slider 滑动选择器
+
+> **组件名:uv-slider**
+
+该组件一般用于表单中,手动选择一个区间范围的场景。
+
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
diff --git a/src/uni_modules/uv-textarea/changelog.md b/src/uni_modules/uv-textarea/changelog.md
new file mode 100644
index 00000000..63a90948
--- /dev/null
+++ b/src/uni_modules/uv-textarea/changelog.md
@@ -0,0 +1,28 @@
+## 1.0.11(2023-12-26)
+1. 优化confirmType默认值改成return
+## 1.0.10(2023-09-13)
+1. 修复设置autoHeight后出现高度异常的BUG
+## 1.0.9(2023-08-08)
+1. 优化
+## 1.0.8(2023-08-07)
+1. 修复值为null或undefined时显示错误的bug
+## 1.0.7(2023-08-05)
+1. v-model设置为数据时的BUG
+2. 复制过多内容,计数显示错误的BUG
+3. maxlength为-1改成不显示计数
+## 1.0.6(2023-07-30)
+1. 增加confirm-hold参数,参考官方文档
+## 1.0.5(2023-07-25)
+1. 增加textStyle属性,自定义文本样式
+2. 增加countStyle属性,自定义统计数字的样式
+## 1.0.4(2023-07-14)
+1. 修复 设置maxlength为-1时不生效的BUG
+## 1.0.3(2023-07-13)
+1. 修复 uv-textarea设置value属性不生效的BUG
+## 1.0.2(2023-05-16)
+1. 优化组件依赖,修改后无需全局引入,组件导入即可使用
+2. 优化部分功能
+## 1.0.1(2023-05-12)
+1. 修复vue3中双向绑定问题
+## 1.0.0(2023-05-10)
+uv-textarea 文本域
diff --git a/src/uni_modules/uv-textarea/components/uv-textarea/props.js b/src/uni_modules/uv-textarea/components/uv-textarea/props.js
new file mode 100644
index 00000000..b0c78899
--- /dev/null
+++ b/src/uni_modules/uv-textarea/components/uv-textarea/props.js
@@ -0,0 +1,138 @@
+export default {
+ props: {
+ value: {
+ type: [String, Number],
+ default: ''
+ },
+ modelValue: {
+ type: [String, Number],
+ default: ''
+ },
+ // 输入框为空时占位符
+ placeholder: {
+ type: [String, Number],
+ default: ''
+ },
+ // 指定placeholder的样式类,注意页面或组件的style中写了scoped时,需要在类名前写/deep/
+ placeholderClass: {
+ type: String,
+ default: 'textarea-placeholder'
+ },
+ // 指定placeholder的样式
+ placeholderStyle: {
+ type: [String, Object],
+ default: 'color: #c0c4cc'
+ },
+ // 输入框高度
+ height: {
+ type: [String, Number],
+ default: 70
+ },
+ // 设置键盘右下角按钮的文字,仅微信小程序,App-vue和H5有效
+ confirmType: {
+ type: String,
+ default: 'return'
+ },
+ // 是否禁用
+ disabled: {
+ type: Boolean,
+ default: false
+ },
+ // 是否显示统计字数
+ count: {
+ type: Boolean,
+ default: false
+ },
+ // 是否自动获取焦点,nvue不支持,H5取决于浏览器的实现
+ focus: {
+ type: Boolean,
+ default: false
+ },
+ // 是否自动增加高度
+ autoHeight: {
+ type: Boolean,
+ default: false
+ },
+ // 如果textarea是在一个position:fixed的区域,需要显示指定属性fixed为true
+ fixed: {
+ type: Boolean,
+ default: false
+ },
+ // 指定光标与键盘的距离
+ cursorSpacing: {
+ type: Number,
+ default: 0
+ },
+ // 指定focus时的光标位置
+ cursor: {
+ type: [String, Number],
+ default: ''
+ },
+ // 是否显示键盘上方带有”完成“按钮那一栏,
+ showConfirmBar: {
+ type: Boolean,
+ default: true
+ },
+ // 光标起始位置,自动聚焦时有效,需与selection-end搭配使用
+ selectionStart: {
+ type: Number,
+ default: -1
+ },
+ // 光标结束位置,自动聚焦时有效,需与selection-start搭配使用
+ selectionEnd: {
+ type: Number,
+ default: -1
+ },
+ // 键盘弹起时,是否自动上推页面
+ adjustPosition: {
+ type: Boolean,
+ default: true
+ },
+ // 是否去掉 iOS 下的默认内边距,只微信小程序有效
+ disableDefaultPadding: {
+ type: Boolean,
+ default: false
+ },
+ // focus时,点击页面的时候不收起键盘,只微信小程序有效
+ holdKeyboard: {
+ type: Boolean,
+ default: false
+ },
+ // 最大输入长度,设置为 -1 的时候不限制最大长度
+ maxlength: {
+ type: [String, Number],
+ default: 140
+ },
+ // 边框类型,surround-四周边框,bottom-底部边框
+ border: {
+ type: String,
+ default: 'surround'
+ },
+ // 用于处理或者过滤输入框内容的方法
+ formatter: {
+ type: [Function, null],
+ default: null
+ },
+ // 是否忽略组件内对文本合成系统事件的处理
+ ignoreCompositionEvent: {
+ type: Boolean,
+ default: true
+ },
+ // 是否忽略组件内对文本合成系统事件的处理
+ confirmHold: {
+ type: Boolean,
+ default: false
+ },
+ // 文本样式
+ textStyle: {
+ type: [Object, String],
+ default: () => {}
+ },
+ // 统计数字的样式
+ countStyle: {
+ type: [Object, String],
+ default: () => {}
+ },
+ ...uni.$uv?.props?.textarea
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue b/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue
new file mode 100644
index 00000000..cd047ac3
--- /dev/null
+++ b/src/uni_modules/uv-textarea/components/uv-textarea/uv-textarea.vue
@@ -0,0 +1,238 @@
+
+
+
+ {{ getCount }}/{{ maxlen }}
+
+
+
+
\ No newline at end of file
diff --git a/src/uni_modules/uv-textarea/package.json b/src/uni_modules/uv-textarea/package.json
new file mode 100644
index 00000000..7df2034a
--- /dev/null
+++ b/src/uni_modules/uv-textarea/package.json
@@ -0,0 +1,87 @@
+{
+ "id": "uv-textarea",
+ "displayName": "uv-textarea 文本域 全面兼容vue3+2、app、h5、小程序等多端",
+ "version": "1.0.11",
+ "description": "文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等。",
+ "keywords": [
+ "uv-textarea",
+ "uvui",
+ "uv-ui",
+ "textarea",
+ "文本域"
+],
+ "repository": "",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "插件不采集任何数据",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uv-ui-tools"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/uni_modules/uv-textarea/readme.md b/src/uni_modules/uv-textarea/readme.md
new file mode 100644
index 00000000..6a64819d
--- /dev/null
+++ b/src/uni_modules/uv-textarea/readme.md
@@ -0,0 +1,19 @@
+## Textarea 文本域
+
+> **组件名:uv-textarea**
+
+文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等。
+
+# 查看文档
+
+## [下载完整示例项目](https://ext.dcloud.net.cn/plugin?name=uv-ui) (请不要 下载插件ZIP)
+
+### [更多插件,请关注uv-ui组件库](https://ext.dcloud.net.cn/plugin?name=uv-ui)
+
+
+
+
+
+
+
+#### 如使用过程中有任何问题反馈,或者您对uv-ui有一些好的建议,欢迎加入uv-ui官方交流群:官方QQ群
\ No newline at end of file