Flutter 基礎篇(十,可能是目前最全的《前端校招面試題及解析》

mb6130d522ec2b4 2021-09-19 16:48:43 阅读数:313

flutter 可能是 可能 目前 最全

* `autovalidate` —— 是否自動校驗輸入的內容,當為 `true` 時,每一個子 `FormField` (下面講)內容發生變化時都會自動校驗合法性,並直接顯示錯誤信息。否則需要通過調用 `FormState.validate()` 來進行手動校驗。
* `onWillPop` —— 决定 `Form` 所在的路由是否可以直接返回。
* `onChanged` —— `Form` 的任意一個子 `FormField` 內容發生變化時會觸發該回調。
[](
)`FormField`
------------------------------------------------------------------------------
`Form` 的子孫元素必須是 `FormField` 類型,它是一個抽象類,裏面維護著幾個屬性,`FormState` 通過它們來完成一些操作,定義如下:

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

const FormField({

FormFieldSetter<T> onSaved, //保存回調

FormFieldValidator<T> validator, //驗證回調

T initialValue, //初始值

bool autovalidate = false, //是否自動校驗。

})


[](
)`FormState`
------------------------------------------------------------------------------
`FormState` 是 `Form` 的 `State` 類,可以通過 `Form.of()` 或 `GlobalKey` 獲得。我們可以通過它來對 `Form` 的子孫 `FormField` 進行統一操作。常用的方法有下面幾個:
* `FormState.validate()` —— 調用 `Form` 子孫 `FormField` 的 `validate` 回調,如果有一個校驗失敗,則返回 `false`,所有校驗失敗項都會返回用戶返回錯誤提示。
* `FormState.save()` —— 調用 `Form` 子孫 `FormField` 的 `save` 回調,用於保存錶單內容。
* `FormState.reset()` —— 將子孫 `FormField` 的內容清空。
[](
)示例
---------------------------------------------------------------------
還是通過前面文章的示例來演示,兩個輸入框,用戶名和密碼,其中用戶名不能為空,密碼長度不能少於6比特:

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

class _FormStateWidget extends State<FormWidget>{

TextEditingController _usernameController = new TextEditingController();

TextEditingController _passwordController = new TextEditingController();

GlobalKey _formKey = new GlobalKey<FormState>();//用於獲取FormState

@override

Widget build(BuildContext context) {

// TODO: implement build
return Form(
key: _formKey,
autovalidate: true,
child: Column(
children: <Widget>[
TextFormField(
controller: _usernameController,
autofocus: true,
decoration: InputDecoration(
labelText: '用戶名',

這裏分享一份由字節前端面試官整理的「2021大廠前端面試手册」,內容囊括Html、CSS、Javascript、Vue、HTTP、瀏覽器面試題、數據結構與算法。全部整理在下方文檔中,共計111道

HTML

  • HTML5有哪些新特性?

  • Doctype作?? 嚴格模式與混雜模式如何區分?它們有何意義?

  • 如何實現瀏覽器內多個標簽頁之間的通信?

  • ?內元素有哪些?塊級元素有哪些? 空(void)元素有那些??內元 素和塊級元素有什麼區別?

  • 簡述?下src與href的區別?

  • cookies,sessionStorage,localStorage 的區別?

  • HTML5 的離線儲存的使用和原理?

  • 怎樣處理 移動端 1px 被 渲染成 2px 問題?

  • iframe 的優缺點?

  • Canvas 和 SVG 圖形的區別是什麼?

Flutter 基礎篇(十,可能是目前最全的《前端校招面試題及解析》_前端

JavaScript

 CodeChina開源項目:【大廠前端面試題解析+核心總結學習筆記+真實項目實戰+最新講解視頻】

  • 問:0.1 + 0.2 === 0.3 嘛?為什麼?

  • JS 數據類型

  • 寫代碼:實現函數能够深度克隆基本類型

  • 事件流

  • 事件是如何實現的?

  • new 一個函數發生了什麼

  • 什麼是作用域?

  • JS 隱式轉換,顯示轉換

  • 了解 this 嘛,bind,call,apply 具體指什麼

  • 手寫 bind、apply、call

  • setTimeout(fn, 0)多久才執行,Event Loop

  • 手寫題:Promise 原理

  • 說一下原型鏈和原型鏈的繼承吧

  • 數組能够調用的函數有那些?

  • PWA使用過嗎?serviceWorker的使用原理是啥?

  • ES6 之前使用 prototype 實現繼承

  • 箭頭函數和普通函數有啥區別?箭頭函數能當構造函數嗎?

  • 事件循環機制 (Event Loop)

Flutter 基礎篇(十,可能是目前最全的《前端校招面試題及解析》_前端_02

版权声明:本文为[mb6130d522ec2b4]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/09/20210919164842735l.html