fix(@omiu/form): fix touched missing

This commit is contained in:
dntzhang 2021-08-06 15:19:42 +08:00
parent b4f1275f1e
commit cff7e29ccf
8 changed files with 28 additions and 20 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@omiu/form",
"version": "0.0.2",
"version": "0.0.5",
"main": "dist/index.es.js",
"exports": {
".": "./dist/index.es.js"

View File

@ -27,6 +27,8 @@ export default class Counter extends WeElement<Props> {
static isLightDom = true
touched = {}
render(props: Props) {
return (
@ -35,17 +37,22 @@ export default class Counter extends WeElement<Props> {
values: props.initialValues,
errors: this.isInstalled ? props.validate(props.initialValues) : {},
onSubmit: (evt) => {
for(const name in props.initialValues) {
this.touched[name] = true
}
evt.preventDefault()
this.update()
},
onBlur: (evt) => {
props.initialValues[evt.currentTarget.getAttribute('name')] = evt.currentTarget.value
const name = evt.currentTarget.getAttribute('name')
props.initialValues[name] = evt.currentTarget.value
this.update()
},
onChange: (evt) => {
props.initialValues[evt.currentTarget.getAttribute('name')] = evt.currentTarget.value
}
},
touched: this.touched
})}
</div>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{_ as e}from"./index.fa8c5b16.js";import{W as t,h as a,t as i,s as n,b as s}from"./vendor.97211ee9.js";import"./index.esm.3739927d.js";import"./index.esm.cb491051.js";import"./index.esm.0be7bcf8.js";var d=Object.defineProperty,r=Object.getOwnPropertyDescriptor;let o=class extends t{constructor(){super(...arguments),this.dataSource=[{id:1,name:"xwang",age:18,address:"Tencent"},{id:2,name:"dntzhang",age:12,address:"Tencent",$config:{bgColor:"rgb(247 176 176 / 32%)"}},{id:3,name:"lucy",age:12,address:"Tencent"},{id:4,name:"john",age:12,address:"Tencent",$config:{bgColor:"rgb(230 162 60 / 34%)"}},{id:5,name:"tim",age:12,address:"Tencent"},{id:6,name:"tim",age:12,address:"Tencent"},{id:7,name:"tim",age:12,address:"Tencent"},{id:8,name:"tim",age:12,address:"Tencent"},{id:9,name:"xwang",age:18,address:"Tencent"},{id:10,name:"dntzhang",age:12,address:"Tencent",$config:{bgColor:"rgb(247 176 176 / 32%)"}},{id:11,name:"lucy",age:12,address:"Tencent"},{id:12,name:"john",age:12,address:"Tencent",$config:{bgColor:"rgb(230 162 60 / 34%)"}},{id:13,name:"tim",age:12,address:"Tencent"},{id:14,name:"tim",age:12,address:"Tencent"},{id:15,name:"tim",age:12,address:"Tencent"},{id:16,name:"tim",age:12,address:"Tencent"}],this.columns=[{title:"ID",render:e=>a("strong",null,e.id)},{title:"Name",width:120,key:"name",editable:!0},{title:"Age",width:90,key:"age",editable:!0},{title:"Address",width:290,key:"address",editable:!0},{title:"操作",align:"right",render:e=>a("o-tooltip",{content:"删除"+e.name},a("o-icon-delete",{"data-item-id":e.id,_onclick:this.onClick,style:"cursor:pointer;font-size:20px;"}))}],this.paging=!0,this.pageSize=5,this.pageIndex=0,this.filterData=[],this.change=e=>{this.pageIndex=e.detail,this.renderTable()},this.onClick=e=>{this.table.deleteRowById(e.currentTarget.dataset.itemId)},this.exportExcel=()=>{e((()=>import("./export-excel.b093e625.js")),["assets/export-excel.b093e625.js","assets/vendor.97211ee9.js","assets/___vite-browser-external_commonjs-proxy.80177ef5.js"]).then((e=>{e.exportTableToExcel(this.table.rootNode.querySelector("table"))}))}}renderTable(){this.filterData=this.dataSource.slice(this.pageIndex*this.pageSize,this.pageIndex*this.pageSize+this.pageSize),this.update()}installed(){this.renderTable()}deleteItemById(e){const t=this.dataSource.indexOf(this.dataSource.find((t=>t.id===e)));-1!==t&&this.dataSource.splice(t,1),this.update()}render(){return a("div",{class:i`pl-0.5`},a("div",{class:i`relative h-10 text-right`},a("o-button",{class:i`relative top-2 right-2`,size:"mini",onClick:this.exportExcel},"导出Excel")),a("div",{class:i`px-2`},a("o-table",{ref:e=>this.table=e,checkbox:!1,stripe:!1,border:!1,compact:!1,columns:this.columns,dataSource:this.filterData}),a("div",{class:i`mt-3 text-right`},a("o-pagination",{total:this.dataSource.length,"current-page":this.pageIndex,"page-size":this.pageSize,onchange:this.change}))))}};o.css=n.target,o=((e,t,a,i)=>{for(var n,s=i>1?void 0:i?r(t,a):t,o=e.length-1;o>=0;o--)(n=e[o])&&(s=(i?n(t,a,s):n(s))||s);return i&&s&&d(t,a,s),s})([s("inline-editing")],o);export{o as default};
import{_ as e}from"./index.dfefb4d4.js";import{W as t,h as i,t as a,s as n,b as s}from"./vendor.97211ee9.js";import"./index.esm.3739927d.js";import"./index.esm.cb491051.js";import"./index.esm.0be7bcf8.js";var d=Object.defineProperty,r=Object.getOwnPropertyDescriptor;let o=class extends t{constructor(){super(...arguments),this.dataSource=[{id:1,name:"xwang",age:18,address:"Tencent"},{id:2,name:"dntzhang",age:12,address:"Tencent",$config:{bgColor:"rgb(247 176 176 / 32%)"}},{id:3,name:"lucy",age:12,address:"Tencent"},{id:4,name:"john",age:12,address:"Tencent",$config:{bgColor:"rgb(230 162 60 / 34%)"}},{id:5,name:"tim",age:12,address:"Tencent"},{id:6,name:"tim",age:12,address:"Tencent"},{id:7,name:"tim",age:12,address:"Tencent"},{id:8,name:"tim",age:12,address:"Tencent"},{id:9,name:"xwang",age:18,address:"Tencent"},{id:10,name:"dntzhang",age:12,address:"Tencent",$config:{bgColor:"rgb(247 176 176 / 32%)"}},{id:11,name:"lucy",age:12,address:"Tencent"},{id:12,name:"john",age:12,address:"Tencent",$config:{bgColor:"rgb(230 162 60 / 34%)"}},{id:13,name:"tim",age:12,address:"Tencent"},{id:14,name:"tim",age:12,address:"Tencent"},{id:15,name:"tim",age:12,address:"Tencent"},{id:16,name:"tim",age:12,address:"Tencent"}],this.columns=[{title:"ID",render:e=>i("strong",null,e.id)},{title:"Name",width:120,key:"name",editable:!0},{title:"Age",width:90,key:"age",editable:!0},{title:"Address",width:290,key:"address",editable:!0},{title:"操作",align:"right",render:e=>i("o-tooltip",{content:"删除"+e.name},i("o-icon-delete",{"data-item-id":e.id,_onclick:this.onClick,style:"cursor:pointer;font-size:20px;"}))}],this.paging=!0,this.pageSize=5,this.pageIndex=0,this.filterData=[],this.change=e=>{this.pageIndex=e.detail,this.renderTable()},this.onClick=e=>{this.table.deleteRowById(e.currentTarget.dataset.itemId)},this.exportExcel=()=>{e((()=>import("./export-excel.b093e625.js")),["assets/export-excel.b093e625.js","assets/vendor.97211ee9.js","assets/___vite-browser-external_commonjs-proxy.80177ef5.js"]).then((e=>{e.exportTableToExcel(this.table.rootNode.querySelector("table"))}))}}renderTable(){this.filterData=this.dataSource.slice(this.pageIndex*this.pageSize,this.pageIndex*this.pageSize+this.pageSize),this.update()}installed(){this.renderTable()}deleteItemById(e){const t=this.dataSource.indexOf(this.dataSource.find((t=>t.id===e)));-1!==t&&this.dataSource.splice(t,1),this.update()}render(){return i("div",{class:a`pl-0.5`},i("div",{class:a`relative h-10 text-right`},i("o-button",{class:a`relative top-2 right-2`,size:"mini",onClick:this.exportExcel},"导出Excel")),i("div",{class:a`px-2`},i("o-table",{ref:e=>this.table=e,checkbox:!1,stripe:!1,border:!1,compact:!1,columns:this.columns,dataSource:this.filterData}),i("div",{class:a`mt-3 text-right`},i("o-pagination",{total:this.dataSource.length,"current-page":this.pageIndex,"page-size":this.pageSize,onchange:this.change}))))}};o.css=n.target,o=((e,t,i,a)=>{for(var n,s=a>1?void 0:a?r(t,i):t,o=e.length-1;o>=0;o--)(n=e[o])&&(s=(a?n(t,i,s):n(s))||s);return a&&s&&d(t,i,s),s})([s("inline-editing")],o);export{o as default};

View File

@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OMI ADMIN</title>
<script type="module" crossorigin src="./assets/index.fa8c5b16.js"></script>
<script type="module" crossorigin src="./assets/index.dfefb4d4.js"></script>
<link rel="modulepreload" href="./assets/vendor.97211ee9.js">
<link rel="stylesheet" href="./assets/index.e4c38a11.css">
</head>

View File

@ -24,7 +24,7 @@
"@omiu/color-picker": "^0.0.4",
"@omiu/common": "^0.0.9",
"@omiu/date-picker": "^0.0.5",
"@omiu/form": "^0.0.2",
"@omiu/form": "^0.0.5",
"@omiu/hamburger-menu": "^0.0.5",
"@omiu/icon": "^0.0.3",
"@omiu/image": "^0.0.2",
@ -56,6 +56,7 @@
"omi-router": "^3.0.0",
"omi-twind": "^0.0.1",
"prismjs": "^1.24.0",
"xlsx": "^0.17.0"
"xlsx": "^0.17.0",
"yup": "^0.32.9"
}
}

View File

@ -55,6 +55,7 @@ export default class extends WeElement<Props> {
{({
values,
errors,
touched,
onChange,
onSubmit,
onBlur
@ -72,7 +73,7 @@ export default class extends WeElement<Props> {
value={values.name}
name="name"
block></o-input>
<div class={tw`text-red-500 h-6 text-sm`}>{errors.name}</div>
<div class={tw`text-red-500 h-6 text-sm`}>{errors.name && touched.name && errors.name}</div>
</div>
</div>
@ -88,7 +89,7 @@ export default class extends WeElement<Props> {
size="small" block
>
</o-input>
<div class={tw`text-red-500 h-6 text-sm`}>{errors.email}</div>
<div class={tw`text-red-500 h-6 text-sm`}>{errors.email && touched.email && errors.email}</div>
</div>
</div>
@ -248,9 +249,8 @@ export default class extends WeElement<Props> {
<div class={formItemClass}>
<label class={lableClass} ></label>
<div class={tw`leading-8 ml-16`}>
<o-button size="small" type="primary"></o-button>
<o-button size="small" type="primary" onclick={onSubmit} ></o-button>
<o-button size="small" class={tw`ml-6`}></o-button>
<div class={tw`text-red-500 h-6 text-sm`}>{errors.address}</div>
</div>
</div>